// pages/inputValue/inputValue.js
import store from '../../modules/store'
import tool from '../../modules/tool'

Page({

  /**
   * 页面的初始数据
   */
  data: {
    config: undefined,
    error: '',
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    if (store.getItem('controlInput') === undefined) {
      wx.navigateBack()
      return
    }
    this.setData({
      config: store.getItem('controlInput')
    })
    if (this.data.config.type == 'dateTime') {
      let t = this.data.config
      try {
        t.defaultValue2 = t.defaultValue.split(' ')[1]
        t.defaultValue = t.defaultValue.split(' ')[0]
      } catch (error) {

      }

      this.setData({
        config: t
      })
    }
    store.removeItem('controlInput')
    wx.setNavigationBarTitle({
      title: this.data.config.title
    })
  },

  handleChangeValue(v) {
    let tt = this.data.config
    tt.defaultValue = v
    this.setData({
      config: tt
    })
  },

  handleChangeValue2(v) {
    let tt = this.data.config
    tt.defaultValue2 = v
    this.setData({
      config: tt
    })
  },

  change_input(e) {
    this.handleChangeValue(e.detail.value)
  },

  change_picker(e) {
    if (this.data.config.type == 'date') {
      this.handleChangeValue(e.detail.value)
      return
    }
    if (this.data.config.type == 'time') {
      this.handleChangeValue(e.detail.value)
      return
    }
    if (this.data.config.type == 'dateTime') {
      if (e.currentTarget.dataset.t == 'time') {
        this.handleChangeValue2(e.detail.value)
      } else {
        this.handleChangeValue(e.detail.value)
      }
      return
    }
    if (this.data.config.type == 'multipleSelector') {
      let re = ''
      for (let i = 0; i < this.data.config.options.length; i++) {
        if (i) re += '-'
        re += `${this.data.config.options[i][e.detail.value[i]].value}`
      }
      this.handleChangeValue(re)
      return
    }
    this.handleChangeValue(this.data.config.options[parseInt(e.detail.value)].value)
  },

  async handleOK() {
    this.setData({
      error: ''
    })
    try {
      let t = this.data.config.defaultValue
      if (this.data.config.type == 'dateTime') {
        t += ' ' + this.data.config.defaultValue2
      }
      await this.data.config.check(t)
    } catch (error) {
      if (!typeof (error) == 'string') {
        error = error.toString().split('Error: ')[1]
      }
      this.setData({
        error
      })
      return
    }
    try {
      let t = this.data.config.defaultValue
      if (this.data.config.type == 'dateTime') {
        t += ' ' + this.data.config.defaultValue2
      }
      this.data.config.callBack(t, () => {
        wx.navigateBack()
      })
    } catch (error) {
      console.log(error)
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})